Scala2.10で統合され(る用意が出来)たAkkaのActorを使う


概要

Akka 2.1.0系のActorが、Scala2.10.0に統合された。

scala 2.10.0を落としてくると、

(下記はhomebrewで入れたCellerのなかみ)

スクリーンショット 2013-01-13 22.08.25.png

こんな感じに

akka-actors.jar と scala-actors.jar が同居しているところが見れる。



公式の方だと、Migration Guide とかもあるけど、

http://docs.scala-lang.org/overviews/core/actors-migration-guide.html


正直、以前のActorにつきっきりで無かったのなら、Migrateにつきあう必要は無さそう。



Gradleでの設定

「CIできないコードは糞だ! 手離れよくなるようにまず回転を作り出せ糞共!!」「サーイエッサー!!」

早速GradleでCIできるようにセットアップ。


が、

MavenCentralに、akka-actors.jar が、まだ無い。


http://search.maven.org/#search%7Cga%7C1%7Corg.scala-lang

、、akka-actors.jar が無い。

org.scala-lang 以外でpublishされてるのかな。

ほかのものは大体あるんだけどなー。



代わりに(いつも通り)、Akka actorの2.1.0 for Scala 2.10.0 を見つけてきて対処。

http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.typesafe.akka%22

から、

akka-actor_2.10-2.1.0.jar

を取得。



差分

Acala 2.10.0に含まれる akka-actors.jar と Akka が現在配布している akka-actor_2.10-2.1.0.jar の差分は、

無い。



build.gradle

とりあえず、最新のAkka-actorを使うコードについてのbuild.gradle は、下記みたいな感じ。

sbtでも同様。


build.gradle

apply plugin:"scala"


repositories {

mavenCentral()

}


dependencies {

scalaTools  (

[group: "org.scala-lang", name: "scala-compiler",version: "2.10.0"],

[group: "org.scala-lang", name: "scala-library",version: "2.10.0"],

)


compile (

[group: "org.scala-lang", name: "scala-library",version: "2.10.0"],


// [group: "org.scala-lang", name: "akka-actors",version: "2.10.0"],not yet applied. 01/13/13 22:27:38


[group: "com.typesafe.akka", name: "akka-actor_2.10",version: "2.1.0"],

// [group: "com.typesafe.akka", name: "akka-kernel",version: "2.1.0"],

// [group: "com.typesafe.akka", name: "akka-remote",version: "2.1.0"],

)

}

まー根本的に、CIサーバにScala入れてあるんだからそこから akka-actors.jar 使えよって話なんですけど、

できることなら、Centralから落として、CIの環境に依存しないようにしたいなっていう。


Centralには依存しまくりなんだけど。

定期的にgradle内のlibをfrozenな感じにして保存しておけばOKかなと。